/**
 * 类装饰器
 * 类装饰器在类声明之前声明，类装饰器接受一个参数，参数为当前类
 * Demo函数会在Person类定义时执行，target是被装饰的类
 * */

function Demo(target: Function) {
  console.log(target);
}
// 等价于Demo函数的调用，并且将Person类传入Demo函数。Demo(Person)
@Demo
class Person {
  name: string;
  constructor(name: string) {
    this.name = name;
  }
}

export {};
